The present invention relates to methods for dealing with missing or untimely signals in digital communications systems. More particularly, the present invention relates to methods for handling missing or untimely synchronization signals, including MPEG Program Clock Reference (PRC) signals, in digital communications systems.
An important constraint in communications systems is the capacity or bandwidth of communications channels. Bandwidth limitations may, for example, limit the amount of information that can be transmitted using a particular channel. Accordingly, considerable effort has been devoted to the development of techniques for compressing the information of a voice conversation or a video program, for example, so that such information can be transmitted using a channel with restricted bandwidth. Compression techniques known to those of skill in the art allow multiple digitized video programs, such as movies, to be transmitted across communications channels that have a fixed amount of bandwidth. Such channels include those derived using twisted wire pair cable, which were historically installed in local telephone systems, and which were designed primarily for analog voice communication.
A digitized video program, which typically comprises one video signal, one or more audio signals, and one or more data signals, may be compressed by an encoder using a standard such as ISO/IEC Standard 13818, also known as MPEG-2, which is know to those of skill in the art. This may involve, among other techniques, organizing the video program into frames, compressing the video information (for example by eliminating or reducing redundant information in each frame, as well as in adjacent frames), and producing information that enables a decoder or a receiver to xe2x80x9cdecompressxe2x80x9d or restore the original video program from the compressed information.
Because video compression may employ both temporal as well as spatial compression techniques, an encoder may reorder the compressed video frames before transmitting them. Under such circumstances, the encoder typically embeds synchronization signals in the header of the compressed video frames that tell the decoder when to decode and when to present the corresponding frames. Synchronization signals also help the decoder to keep the video and audio data of each program locked together.
When multiple programs are multiplexed into a transport stream, an encoder may also need to embed an additional synchronization signal into the transport stream. This additional synchronization signal, which is referred to as the Program Clock Reference (PCR) in the MPEG-2 standard, represents the system clock used to encode a particular program. The system clock signal needs to be transmitted to the decoder in order to help the decoder properly decode and display programs that were encoded using different clocks. That is, time stamps and other synchronization signals embedded by an encoder into a compressed program are only meaningful if the encoder system clock can be recreated at the decoder.
After a transport stream consisting of multiple compressed programs has been encoded and assembled, the transport stream may also be packetized and passed on to a lower layer in the communications network, which may repacketize the transport stream and embed further information, such as Forward Error Correction (FEC) information, before actually transmitting the stream across a network. For example, MPEG transport stream packets may be placed into a Convergence Sublayer Protocol Data Unit (CS-PDU), mapped into multiple Asynchronous Transfer Mode (ATM) cells, and finally transmitted to a receiving system across an ATM network using twisted wire cable, fiber optic cable, or radio or other communications media.
As the digital signals in ATM cells travel through an ATM network, the signals, including synchronization signals, can be corrupted due to cell loss, cell misrouting, and bit errors that occur during transmission. In addition, network congestion and traffic conditions may lead to the delay in the transmission or receipt of the digital signals, including the synchronization signals. Because the efficiency of ATM and other packet networks relies in part on the ability of receivers in the networks, as well as the networks themselves, to deal with occasional packet delay and packet loss, it is inevitable that synchronization and other types of signals transmitted across such networks will occasionally be delayed, corrupted, or lost altogether. When compressed video programs are transmitted across packet networks, such delays, corruption, and losses of synchronization signals typically result in a reduction in the quality of the video image presented or displayed at the receiver, or the loss of the image altogether.
For the foregoing reasons, there is a need for a method of enabling decoders and other digital communications systems receivers to continue to operate when synchronization signals are either delayed, corrupted, or lost altogether.
The present invention is directed to a method for dealing with or handling missing or untimely synchronization signals, such as Presentation Time Stamp (PTS) and Program Clock Reference (PCR) signals, in digital communications systems. Under normal operating conditions, a decoder or other type of receiver receives periodic synchronization signals. In the present invention, when the decoder detects the absence of a synchronization signal, it estimates what the absent synchronization signal would have been, based on the previously received synchronization signals. The decoder then uses the estimated synchronization signal in place of the absent synchronization signal.
In a preferred embodiment, when the decoder receives a subsequent, valid synchronization signal, it corrects the previous estimated synchronization signal, based on the valid synchronization signal. Correcting the estimated synchronization signal results in improved estimation of future missing synchronization signals.
The MPEG-2 standard provides for the transmission of three types of compressed video frames. An Intra-frame, or I-frame, is a complete, digitized video frame that can be decoded without reference to any other frame. A Prediction frame, or P-frame, does not include a complete video image; rather, a P-frame includes information that enables the decoder to predict, with an acceptable degree of accuracy, what the video frame should display, based on prior I-frames or P-frames. A Bi-directional frame, or B-frame, also does not include a complete video image; rather, a B-frame includes information that enables the decoder to predict what the video frame should display, based on either prior or subsequent I-frames or P-frames. If a B-frame depends on a subsequent I-frame or P-frame, the decoder needs to transmit the subsequent I-frame or P-frame prior to the B-frame.
Thus, an I-frame may itself be thought of as a type of synchronization signal, as I-frames xe2x80x9cresetxe2x80x9d the decoder, in that the decoder can decode I-frames without reference to any previously received frames.
When a decoder detects the absence of an I-frame, the present invention teaches that the decoder should keep decoding and processing subsequently-received P-frames and B-frames as if the I-frame had been received. Although the resulting picture quality will not be perfect, it has been found that it will be acceptable, especially in narrowband transmission networks such as twisted wire pair cable networks. Furthermore, it has also been found that the picture quality will improve as more P-frames and B-frames are decoded and presented subsequent to the missing I-frame.
Alternatively, the decoder can construct a xe2x80x9cnullxe2x80x9d I-frame, comprising an estimated synchronization signal and no video data, and decode the xe2x80x9cnullxe2x80x9d I-frame in place of the absent I-frame. As before, the estimated synchronization signal can be corrected when the next valid synchronization signal is received, so as to improve the quality of future synchronization signal estimates.
Sometimes synchronization signals are received by a decoder, but on an untimely basis. For example, variations in queueing delays in network switches can result in packet delay variation, or jitter. The presence of jitter introduced by the underlying network or by the protocol layers below the MPEG-2 layer may distort the reconstructed clock at the MPEG-2 decoder. That, in turn, may degrade the quality of the video frames when the synchronization signals are generated from the recovered clock.
Although an MPEG decoder is designed to adjust its phase-locked loop (PLL) to match the frequency of the PCR signal transmitted by an encoder, jitter can result in a phase error between the decoder""s PLL and the PCR signal. According to the present invention, the PLL should be adjusted based on the phase error, but only if the phase error is below a predetermined phase error threshold. If the phase error is at or above the predetermined phase error threshold, the decoder should determine if the error is a spike or an anomaly. If it is, the phase error should be ignored. If it is not, the decoder""s PLL should be adjusted based on a large-error-correction procedure. This avoids adjusting the PLL by the entire amount of the phase error, which could cause undesirable artifacts in the presented image. The specific parameters of the large-error-correction procedure depend on the particular system configuration (e.g., whether the underlying communications network system is an Asymmetric Digital Subscriber Loop (ADSL) system, a Very-high-speed Digital Subscriber Loop (VDSL) system, or a satellite system).
In addition, the present invention teaches that a decoder can increment an error count every time it detects a phase error, so that the decoder can be reset when the error count reaches a predetermined threshold.
It is an object of the present invention to improve the performance of MPEG decoders and other digital receivers in the absence of synchronization signals.
It is another object of the present invention to enable an MPEG decoder or other type of digital communications receiver to handle missing synchronization signals.
It is a further object of the present invention to enable an MPEG decoder or other type of receiver to estimate absent synchronization signals based on previously received synchronization signals.
It is a further object of the present invention to enable an MPEG decoder or other type of receiver to correct an estimated synchronization signal upon receipt of a subsequent valid synchronization signal.
It is a further object of the present invention to enable an MPEG decoder to handle missing I-frames.
It is a further object of the present invention to reduce the effects of jitter in synchronization signals such as Program Clock Reference (PRC) signals.
The foregoing and other features, aspects, and advantages of the present invention will become more apparent from the following detailed description, which should be read in conjunction with the accompanying drawings.